package com.ruicar.afs.cloud.manage.api.dto;

import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.common.modules.contract.enums.BusinessSourceEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.ContractStatusEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.CustInfoChangeTypeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.DataSourceEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.PersonRoleTypeEnum;
import com.ruicar.afs.cloud.common.modules.contract.enums.ProcessStatusEnum;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CustInfoChangeApplyDto {
	@ApiModelProperty("客户编号")
	private String custNo;
	/** 合同号码 */
	@ApiModelProperty("合同号码")
	private String contractNo;
	/** 案件编号 */
	@ApiModelProperty("案件编号")
	private String caseNo;
	/** 申请编号 */
	@ApiModelProperty("申请编号")
	private String applyNo;
	/** 数据来源 枚举值：CMS、多品系统 */
	@ApiModelProperty("数据来源 枚举值：CMS、多品系统")
	private DataSourceEnum dataSource;
	/** 变更主体 枚举值: 主借人、共借人、但保人  */
	@ApiModelProperty("变更主体 枚举值: 主借人、共借人、但保人")
	private PersonRoleTypeEnum changeSubject;
	/** 变更类型 枚举值：仅更新身份证件有效期 仅姓名（曾用名） 姓名及身份证件号码 其他信息 */
	@ApiModelProperty("变更类型 枚举值：仅更新身份证件有效期 仅姓名（曾用名） 姓名及身份证件号码 其他信息")
	private CustInfoChangeTypeEnum changeType;
	/** 原姓名 */
	@ApiModelProperty("原姓名")
	private String oldName;
	/** 新姓名 */
	@ApiModelProperty("新姓名")
	private String newName;
	/** 原证件类型 */
	@ApiModelProperty("原证件类型")
	private String oldCertType;
	/** 新证件类型 */
	@ApiModelProperty("新证件类型")
	private String newCertType;
	/** 原证件号码 */
	@ApiModelProperty("原证件号码")
	private String oldCertNo;
	/** 新证件号码 */
	@ApiModelProperty("新证件号码")
	private String newCertNo;
	/** 原证件有效期起 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("原证件有效期起")
	private Date oldCertStartDate;
	/** 新证件有效期起 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("新证件有效期起")
	private Date newCertStartDate;
	/** 原证件有效期止 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("原证件有效期止")
	private Date oldCertEndDate;
	/** 新证件有效期止 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("新证件有效期止")
	private Date newCertEndDate;
	/** 备注 */
	@ApiModelProperty("备注")
	private String remarks;
	/** 结束时间 案件审批完成时间 */
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@ApiModelProperty("结束时间 案件审批完成时间")
	private Date endDate;
	/** 处理状态 枚举值 */
	@ApiModelProperty("处理状态 枚举值")
	private ProcessStatusEnum processStatus;
	/** 客户姓名 */
	@ApiModelProperty("客户姓名")
	private String custName;
	/** 合同状态 */
	@ApiModelProperty("合同状态")
	private ContractStatusEnum contractStatus;
	/** 业务来源 */
	@ApiModelProperty("业务来源")
	private BusinessSourceEnum businessSource;
}
